package com.yang.test.service;

import com.yang.test.domain.VO.ResultMVO;
import com.yang.test.domain.VO.TestQuestionsVO;

import java.util.Map;

public interface MbtiService {
    
    /**
     * 获取测试和问题
     * @param testId 测试ID
     * @return 测试和问题信息
     */
    TestQuestionsVO getTestQuestions(String testId);
    
    /**
     * 处理答案并生成结果
     * @param answers 用户的答案
     * @param testId 测试ID
     * @return 结果ID
     */
    String processAnswers(Map<String, Integer> answers, String testId);
    
    /**
     * 获取测试结果
     * @param resultId 结果ID
     * @return 结果视图对象
     */
    ResultMVO getResult(String resultId);
    
    /**
     * 计算MBTI维度得分
     * @param answers 用户答案
     * @return 维度得分映射
     */
    Map<String, Double> calculateScores(Map<String, Integer> answers);
    
    /**
     * 根据得分确定MBTI类型
     * @param scores 维度得分
     * @return MBTI类型
     */
    String determineMbtiType(Map<String, Double> scores);
}